package org.example.lanchain.service;

import org.example.lanchain.bean.KnowledgeBase;
import java.util.List;

public interface KnowledgeBaseService {
    /**
     * 创建知识库
     * @param knowledgeBase 知识库对象
     * @return 创建后的知识库对象
     */
    KnowledgeBase createKnowledgeBase(KnowledgeBase knowledgeBase);

    /**
     * 根据ID获取知识库
     * @param id 知识库ID
     * @return 知识库对象或null
     */
    KnowledgeBase getKnowledgeBaseById(Long id);

    /**
     * 获取所有知识库
     * @return 知识库列表
     */
    List<KnowledgeBase> getAllKnowledgeBases();

    /**
     * 更新知识库
     * @param knowledgeBase 知识库对象
     * @return 更新是否成功
     */
    boolean updateKnowledgeBase(KnowledgeBase knowledgeBase);

    /**
     * 删除知识库
     * @param id 知识库ID
     * @return 删除是否成功
     */
    boolean deleteKnowledgeBase(Long id);

    /**
     * 根据用户ID获取知识库列表
     * @param userId 用户ID
     * @return 知识库列表
     */
    List<KnowledgeBase> getKnowledgeBasesByUserId(Long userId);
} 